home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / e / e_modules02.lha / e_modules02 / framework / myRexx.e < prev    next >
Encoding:
Text File  |  1996-07-31  |  1.4 KB  |  52 lines

  1. OPT MODULE
  2. OPT EXPORT, PREPROCESS
  3.  
  4. MODULE '*easyRexx'
  5. MODULE 'easyrexx','libraries/easyrexx','libraries/easyrexx_macros'
  6. MODULE 'utility/tagitem','fw/wbObject'
  7.  
  8. ENUM AREXX_1=1,AREXX_2,AREXX_3,AREXX_4,AREXX_5
  9.  
  10. OBJECT myRexx OF easyRexx
  11. ENDOBJECT
  12.  
  13. PROC open() OF myRexx HANDLE
  14.   IF easyrexxbase=NIL THEN Raise(0)
  15.   self.create(
  16.             [AREXX_1, 'RAZ',   '', NIL,
  17.              AREXX_2, 'DWA',   '', NIL,
  18.              AREXX_3, 'TRZY',  '', NIL,
  19.              AREXX_4, 'CZTERY','', NIL,
  20.              AREXX_5, 'PIEC',  '', NIL,
  21.              TABLE_END
  22.             ]:arexxcommandtable,
  23.             [ER_Author,       'Piotr Gapiïski',
  24.              ER_Copyright,    '© 1996 Piotr Gapiïski',
  25.              ER_Version,      'FWtest v1.0',
  26.              ER_Portname,     'FWTEST',
  27.              TAG_DONE
  28.             ])
  29.   IF self.context=NIL THEN Raise(0)
  30. EXCEPT
  31.   self.remove()
  32. ENDPROC
  33.  
  34. CONST MAXLONG=2147483647
  35. PROC handleMessage(msg: PTR TO arexxcontext) OF myRexx
  36.   DEF id
  37.   DEF result=NIL,resultstring=NIL,error=NIL
  38.   DEF resultlong=MAXLONG
  39.  
  40.   IF GetARexxMsg(msg)=1
  41.     id:=msg.id
  42.  
  43.     WriteF('rexx message ID = \d\n',id)
  44.  
  45.     ReplyARexxMsgA(msg,[ER_ReturnCode,result,
  46.        IF resultstring        THEN ER_ResultString ELSE TAG_IGNORE,resultstring,
  47.        IF resultlong<>MAXLONG THEN ER_ResultLong ELSE TAG_IGNORE,resultlong,
  48.        IF error               THEN ER_ErrorMessage ELSE TAG_IGNORE,error,
  49.                               TAG_DONE])
  50.   ENDIF
  51. ENDPROC PASS
  52.